The Internet Protocol Multimedia Subsystem (“IMS”) is an architectural framework for delivering Internet Protocol (“IP”) multimedia to mobile users, such as users of smart phones or tablet computers. An IMS core network (“IMS core”) permits wireless and wireline devices to access multimedia, messaging, and voice applications and services. IMS standards and specifications have been promulgated by the 3rd Generation Partnership Project (“3GPP” ™). To allow the IMS core to be integrated with Internet resources, the 3GPP specifications use Internet Engineering Task Force protocols within the IMS core, such as Session Initiation Protocol (“SIP”) and Diameter. SIP is a signaling protocol used for creating, modifying and terminating two-party or multiparty sessions consisting of one or several media streams. A mobile device registers its IP address with a SIP registrar server within an IMS core by generating and sending a SIP request message with a “REGISTER” method token. Once registered, a mobile device may subsequently establish multimedia sessions via the IMS core.
An IMS client (or IMS stack) software component on a mobile device allows one or more applications on the mobile device to register for various application services that are available on the IMS network, such as Voice over LTE (VoLTE), Rich Communication Services (RCS), Short Message Service over Internet Protocol (SMS over IP), and Presence. If the registration is successful, the mobile device application may then take advantage of the functionality offered by the application service to which it is registered. If the registration is unsuccessful, however, then the application will be unable to take advantage of the offered functionality.
In cases where a mobile device requests multiple IMS services while roaming in a foreign network (i.e., a visited Public Land Mobile Network (PLMN)), the operator of a home network that is associated with the mobile device (i.e., a Home PLMN) may find it desirable to allow the mobile device to register for certain IMS services while restricting the mobile device from registering for certain for other IMS services. A mobile network operator may desire such functionality for a variety of reasons. For example, an operator may restrict certain IMS services in order to avoid technical conflicts, optimize network traffic, or offer premium services to certain subscribers. In the case of technical conflicts, the operator may desire to avoid an incompatibility between two or more IMS services. For example, the operator may determine that enabling both LTE roaming and Voice over LTE (VoLTE) on the same mobile device may cause problems in the telecommunications network or at the mobile device. As a result, the operator may wish to establish a service policy that allows a mobile device to register for LTE roaming or VoLTE, but not both. The operator may wish to establish this policy and other policies that would restrict access to one or more whitelisted IMS services based on criteria including the visited network from which the mobile device is roaming and the Radio Access Technology (RAT) type associated with the home network. Moreover, the operator may wish to administer the service policy within the IMS network to avoid the need to maintain a copy of the service policy in multiple application servers and to reduce the amount of signaling that must occur in the network to accomplish registration of the whitelisted services.